package com.sumainfor.wx.system.epc.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sumainfor.wx.system.annotation.DS;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author PuaChen
 * @Create 2019-06-12 14:04
 */
@DS("epc")
public interface MaintainCommitMapper {

    /**
     * 获取评价列表
     *
     * @param page
     * @param params
     * @return
     */
    List<Map<String, Object>> selectCommitList(Page page, @Param("map") Map<String, Object> params);

    /**
     * 获取所所需要的数据
     *
     * @param houId
     * @return
     */
    @DS("market")
    Map<String, Object> getHousingBaseInfo(String houId);


    /**
     * 查询订单信息
     *
     * @param repId
     * @return
     */
    Map<String, Object> getOrderInfoData(String repId);

    /**
     * 查询领用单商品数据信息
     *
     * @param repId 维修单编号
     * @return
     */
    List<Map<String, Object>> selectReceiveShopList(String repId);

    /**
     * 查询房源信息
     *
     * @param repId
     * @return
     */
    String getHousingId(String repId);

    /**
     * 查询维修支付账单
     *
     * @param repId
     * @return
     */
    String getPayOrder(String repId);

    /**
     * 查询租客支付账单
     *
     * @param sourceId
     * @return
     */
    @DS("gmio")
    Map<String, Object> getMaintainPayOrderInfo(String sourceId);


    /**
     * 查询维修完成确认信息中所需要的数据
     *
     * @param repId
     * @return
     */
    Map<String, Object> getDetailConfirm(String repId);


    /**
     * 获取维修工单主表数据
     *
     * @param repId
     * @return
     */
    Map<String, Object> getRepairMainData(String repId);

    /**
     * 更新维修工单
     *
     * @param params
     * @return
     */
    int updateRepairMain(Map<String, Object> params);

    /**
     * 更新我的维修工单
     *
     * @param params
     * @return
     */
    int updateMyRepair(Map<String, Object> params);

    /**
     * 插入抄表记录
     *
     * @param params
     * @return
     */
    int insertOrderMeter(Map<String, Object> params);

    /**
     * 添加维修账单
     *
     * @param params
     * @return
     */
    int insertOrderPay(Map<String, Object> params);

    /**
     * 插入租客支付账单
     *
     * @param params
     * @return
     */
    @DS("gmio")
    int insertTenantPayOrder(Map<String, Object> params);

    /**
     * 获取租客编号 当前签约的合同进行查询
     *
     * @param houId
     * @return
     */
    @DS("market")
    List<String> getPactTenantForHousingId(String houId);


    /**
     * 查询同房源下的待接维修工单
     * @param zcHouId
     * @param selfRepId
     * @return
     */
    List<Map<String,Object>> getHouIdRepair(@Param("zcHouId") String zcHouId, @Param("selfRepId") String selfRepId);

}
